Smart item technologies may include, for example, radio-frequency identification (RFID) systems, embedded systems, sensor motes, and/or sensor networks, and may be used, for example, to provide business software applications with fast access to real-world data. For example, smart item technologies may be used support the detection, reading, or writing of RFID tags, as well as to support communication with, and control of, wireless sensor networks and embedded systems. In many instances, smart items may include devices having local processing power, memory, and/or communication capabilities, that are capable of providing data about the device and its properties, or information about a current state or environment of the smart item devices. For example, a physical object may include a product embedded information device (PEID), which may include, for example, an embedded computing unit, an RFID tag, etc., to enable close coupling of real world events to backend information systems. Accordingly, some such devices may be used in the execution of service components of back-end or underlying business applications to collect, process, or transmit business data.
Examples of smart item devices include an RFID tag, which may be passive or active, and which may be attached to an object and used to provide product or handling information related to the object. Other examples of smart item devices includes various sensors, such as, for example, environmental sensors (e.g., a temperature, humidity, or vibration sensor), which may be capable of communicating to form one or more sensor networks. These and other types of smart item devices also may include embedded systems, which may refer generally to any system in which a special-purpose processor and/or program is included, and/or in which the system is encapsulated in the device being controlled or monitored.
Through automatic real-time object tracking, smart item technology may provide businesses with accurate and timely data about business operations, and also may help streamline and automate the business operations. Accordingly, cost reductions and additional business benefits (e.g., increased asset visibility, improved responsiveness, and extended business opportunities) may be obtained.
As an example scenario, a business may need to track a lifecycle of a product. A product's lifecycle may include the phases beginning-of-life (e.g., design, production), middle-of-life (e.g., use, maintenance), and end-of-life (e.g., recycling, disposal). Example business goals related to product lifecycle management may include design improvements, adjustment of production parameters, flexible maintenance planning, and effective recycling. In order to achieve these business goals, the business may need to acquire information relating to the actual behavior and condition of the product. As an example, PEIDs with attached sensors can monitor the usage of products and their environment during their whole lifecycle and make the recorded data available to backend systems, such as maintenance planning, fleet management, and product data management (PDM) systems. Depending, for example, on the number of sensors embedded in the product and the respective sampling rates, large amounts of data may be generated for a single product. This may become even more problematic when multiple products need to be monitored (e.g., in a truck fleet). Furthermore, if products are mobile, they may have only a low bandwidth network or intermittent network connection. Therefore, the transmission of raw field data to backend systems may not be feasible in many cases.
Some systems may use message-oriented middleware to enable communication between smart items such as PEIDs and backend systems. For example, the middleware may be configured to transport data from a PEID to a backend system, where the data may then be processed. In the area of wireless sensor networks, for example, middleware may be used for connection of the wireless sensor nodes of the wireless sensor network, either among the nodes themselves or to the backend application for further evaluation and processing of the data. In this context, there may exist intermittent connections, for example, due to movement of the nodes that enable the communication. Thus, data or results may either be lost, or may need to be stored on the nodes.
For some smart items for which very large amounts of real-time data need to be processed, for example, the storage capacity and/or the processing capacity of the nodes may be insufficient to handle the data, and thus dependability or integrity of results may be compromised. For example, while recording real-world data of products using PEIDs enables more accurate analysis, it also may pose the problem of creating large amounts of data by periodic recording from sensors (e.g., sampling). Depending, for example, on the type of sensor and the data resolution required for a particular application, a sampling frequency may be defined. For example, an outside temperature sensor may be read in intervals of a predefined number of minutes, as temperature variations may be expected to occur gradually, in a range of minutes. In contrast, an acceleration sensor which may be used to detect vibration patterns may be read a few hundred times per second, as otherwise, relevant vibrations may not be detected. Assuming that for each recording a 4 Byte numeric value is stored, the temperature sensor may create 5.625 KBytes of raw data per day (i.e., 1 sample per minute), whereas the acceleration sensor may create 33750 KBytes of raw data per day (i.e., 100 samples per second).
Since PEIDs may have limited memory capacity, they may not be able to store the recorded data for long time periods. Therefore, the data may need to be transmitted to another system for analysis or be processed locally with the results being sent to backend systems, if needed. However, performing all necessary analysis on the product and transmitting only the result may not be feasible, as a PEID may have very limited resources and/or power supply and/or connectivity. Moreover, for example, some data processing steps may require additional input from secondary databases or other products, which may not be available on the individual product. However, a mere determination of placements in the network of executables for performing the data processing may lead to inefficiencies, including, for example, unacceptable throughput levels.